﻿<%@ Application Language="C#" %>

<script RunAt="server">

    void Application_OnBeginRequest(Object sender, EventArgs E)
    {

    }
    void Application_OnEndRequest(Object sender, EventArgs E)
    {
    }


    void Application_Start(object sender, EventArgs e)
    {

        //在应用程序启动时运行的代码
        Application.Lock();
        Application["online"] = 0;
        Application.UnLock();

      
  
    }
 






    void Application_End(object sender, EventArgs e)
    {
        

        //在应用程序关闭时运行的代码

    }

    void Application_Error(object sender, EventArgs e)
    {
        ////在出现未处理的错误时运行的代码
        //HttpContext context = ((HttpApplication)sender).Context;
        //Exception ex = context.Server.GetLastError();
        //if (ex == null || !(ex is HttpException) || (ex as HttpException).GetHttpCode() == 404)
        //    return;

  

        //    while (ex != null)
        //    {
        //        Application["Error"]=ex;
                 
        //        ex = ex.InnerException;
        //    }
        

       

        // context.Response.StatusCode = 500;
        //Server.ClearError();

        //// Server.Transfer is prohibited during a page callback.
        //System.Web.UI.Page currentPage = context.CurrentHandler as System.Web.UI.Page;
        //if (currentPage != null && currentPage.IsCallback)
        //    return;

        // context.Server.Transfer("~/error.aspx");
    }

    void Session_Start(object sender, EventArgs e)
    {
        //在新会话启动时运行的代码
        Application.Lock();
        Application["online"] = Convert.ToInt32(Application["online"]) + 1;
        Application.UnLock();

         
    }

    void Session_End(object sender, EventArgs e)
    {
        //在会话结束时运行的代码。 
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时，才会引发 Session_End 事件。如果会话模式 
        //设置为 StateServer 或 SQLServer，则不会引发该事件。

        Application.Lock();
        Application["online"] = Convert.ToInt32(Application["online"]) - 1;
        Application.UnLock();



    }
       
</script>

